/**
 * 校验类型
 */
const isString = (data) => {
  if (typeof data !== 'string') {
    console.error(
      'storage的值必须是一个字符串,现在输入的值:',
      data,
      '为:',
      typeof data,
      '类型'
    )
    return false
  }
  return true
}

/**
 * 存储数据
 */
export const setStorage = (key, value) => {
  if (!isString(key)) return
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  return localStorage.setItem(key, value)
}

/**
 * 删除指定数据
 */
export const removeStorage = (key) => {
  if (!isString(key)) return
  localStorage.removeItem(key)
}

/**
 * 获取数据
 */
export const getStorage = (key) => {
  if (!isString(key)) return
  const data = localStorage.getItem(key)
  try {
    return JSON.parse(data)
  } catch {
    return data
  }
}

/**
 * 删除所有数据
 */
export const removeAllStorage = () => {
  localStorage.clear()
}
